home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
kcl
/
akcl
/
akcl1615.lha
/
doc
/
procs.el
< prev
next >
Wrap
Text File
|
1989-09-28
|
1KB
|
39 lines
(defun next-word ()
(let* ((pt (point)))
(forward-sexp)
(buffer-substring pt (point))))
(defun get-defuns (n) (interactive "p")
(or n (setq n 1))
(while (>= (setq n (- n 1)) 0)
(cond ((search-forward "F" nil t)
(let (f pack args lim pt def)
(setq pt (point))
(forward-char 1)
(setq lim (if (search-forward "" nil t) (point) nil))
(goto-char pt)
(setq f (next-word))
(next-line 1)
(beginning-of-line)
(setq def (next-word))
(cond ((equal def "Macro"))
((equal def "Special"))
(t (search-forward "package:" lim)
(forward-sexp -2)
(setq pack (next-word))
(search-forward "Args:" lim)
; (re-search-forward "\\(Args\\)\\|\\(Syntax\\):" lim)
(setq args (next-word))
(setq values (re-search-forward "Values" lim t))
(other-window 1)
(cond ((equal def "Function")
(insert "(defun " pack "::" f args
(if values " (MV)" " T")
")"))
(t (insert "(unknown " f ")")))
(insert ?\n)
(other-window 1)
)))))))